                                                                     
/*
 摇杆模块 + 180度舵机
 http://he4966.cn
 Xiaohe QQ496631085
*/
#include <Servo.h>   
int X = 0;
int Y = 0;

int X_i = A0; //输入遥感信号 
int DuoJi = 9; //舵机输出io
int pos = 90;//舵机转向角度

// int Y_i = 1;
// int B_i = 18;
// int Button = 0;

Servo myservo;

void setup() {
  Serial.begin(115200);
  // pinMode(X_i, INPUT);  //定义遥感按钮的PIN为数字口A0
  // pinMode(Y_i, INPUT);  //定义遥感按钮的PIN为数字口A0
   pinMode(B_i, INPUT); 
  Serial.write("yaogan");
  myservo.attach(DuoJi, 500, 2500);          //修正脉冲宽度
}

void loop() {
  X = analogRead(X_i); //遥感的X轴引脚接模拟值A2
  Y = analogRead(Y_i); //遥感的Y轴引脚接模拟值A1
  //取 X /10 的值，防止X轴和Y轴的数值过大，影响显示效果
  X = X;
  // Y = Y / 10;
  // 0-218  218-409

  //X设置舵机180 度的对应的比例角度

  pos = jiaodu(X);
 


    myservo.write(pos);
    Serial.write("     X_d:");
    Serial.println(pos);
  
  // Button = digitalRead(B_i);  //读取按钮的状态，并在下方打印出来
  // Serial.write(" X:");
  // Serial.print(X);

  // Serial.write("     Y_d:");
  // Serial.print(jiaodu(Y));
  // Serial.write("     Y:");
  // Serial.print(Y);
  // Serial.write("     B:");
  // Serial.println(Button);
  // delay(10);

}

int jiaodu(int val){

    Serial.write("X:");
    Serial.print(val);
   return map(val, 0, 1023, 0, 180);
//  if (val >= 217) {
//     return  map(val, 217, 409, 90, 180);
//   } else{
//     return map(val, 0, 217, 0, 90);
//   }
}

